class GameMissileSwarm : public Game
{
public:
    void Init();
    string Name()
    {
        return "missileSwarm";
    }
    void NewGame();
    void Step(ControllerState &controller);
    ControllerState SimpleAI();

private:
    void MakeFrameSprites();
    int spriteValue(int spriteID);
    int getSprite(const Vec2i &pos);

    //
    // Game state
    //
    int _shipX;
    int _newGame;
    int _score;
    int _level;
    Grid<int> _tiles;

    // Things that have happened since last NewGame()
    int _applesEatenSinceReset;
    int _framesSinceReset;

    //
    // Sprite IDs
    //
    int _spriteAlien;
    int _spriteMissileStart;
    int _spriteMissile;
    int _spriteCandyStart;
    int _spriteCandy;
    int _spriteShip;
};
